/**
 * Provides methods to control an AJAX based map.
 * The map can be moved, zoomed and the map type can be changed.
 * 
 * @author Kim Pommert
 * @version %I%, %G%
 */
qx.Interface.define("qooxdoosample.cocktail.maps.IDynamicMap",
{
	extend: qooxdoosample.cocktail.maps.IMap,
	
	statics:
	{
		// constants for different map types.
		MAP_TYPE_NORMAL: 0,
		MAP_TYPE_SATELLITE: 1,
		MAP_TYPE_HYBRID: 2
	},
	
	members:
	{
		/**
		 * Change the displayed type of the map
		 * 
		 * @param type	{Number} Constant value of the map type
		 */
		setMapType: function(type){},
		
		/**
		 * Display the provider's map control panel.
		 */
		showControls: function(){},
		
		/**
		 * Hide the provider's map control panel.
		 */
		hideControls: function(){},
		
		/**
		 * Increases the zoom level of the map
		 */
		zoomIn: function(){},
		
		/**
		 * Decreases the zoom level of the map
		 */
		zoomOut: function(){},
		
		/**
		 * Shifts the current map view to the west
		 */
		moveLeft: function(){},
		
		/**
		 * Shifts the current map view to the east
		 */
		moveRight: function(){},
		
		/**
		 * Shifts the current map view to the north
		 */
		moveUp: function(){},
		
		/**
		 * Shifts the current map view to the south
		 */
		moveDown: function(){}
	}
});